package com.chonor.mall.service;

import com.chonor.mall.dto.CouponParam;
import com.chonor.mall.model.Coupon;
import com.chonor.mall.model.Product;
import com.chonor.mall.model.ProductCategory;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface CouponService {

    /**
     * 添加优惠券
     */
    @Transactional
    int create(CouponParam couponParam);

    /**
     * 添加优惠券
     */
    int create(Coupon coupon);

    /**
     * 根据优惠券id删除优惠券
     */
    @Transactional
    int delete(Long id);

    /**
     * 根据优惠券id更新优惠券信息
     */
    @Transactional
    int update(Long id, CouponParam couponParam);

    /**
     * 根据优惠券id更新优惠券信息
     */
    int update(Long id, Coupon coupon);

    /**
     * 分页获取优惠券列表
     */
    List<Coupon> list(String name, Integer type, Integer pageSize, Integer pageNum);

    /**
     * 获取优惠券详情
     * @param id 优惠券表id
     */
    CouponParam getItem(Long id);

    /**
     * 设置商品
     */
    int setProduct(Long id, List<Long> ids);

    /**
     * 设置商品分类
     */
    int setProductCategory(Long id, List<Long> ids);
}
